在9月24日前後,包括美國電腦緊急應變中心(US-CERT)、企業級Linux廠商紅帽及多家資安網站,皆發布嚴重資安警告,表示一個廣泛使用在Linux/Unix平臺上的Bash Shell存在重大資安漏洞。而在Shellshock的漏洞爆出後,美國國家標準技術局(National Institute of Standards and Technology,NIST)也少見將Shellshock漏洞的資安嚴重等級,跟發生於今年4月的Heartbleed漏洞,同樣評為最嚴重的10分。 --《iThome》
這次的漏洞被賦予一個暱稱,「Shellshock」,最早被發現於9/14,影響的層面包括運行任意版本Bash的Linux、Unix及Mac OS X. 攻擊者可以利用這項弱點對機器執行遠端代碼〈remote code execution〉。
在CVE-2014-6271通報後不久隨即而來的Patch,被爆出更新完後仍可藉由特殊構造出的環境變數執行代碼,因此CVE-2014-7169為第二次通報,而中間又歷經兩個較小的CVE-2014-7186 & CVE-2014-7187,而在昨日Michal Zalewski又找到另一個嚴重的parser bug,CVE-2014-6277於是在昨日通報,而細節尚未公開。
https://security-tracker.debian.org/tracker/CVE-2014-6271 <-- Debian安全通報
http://www.ubuntu.com/usn/usn-2362-1/ <-- Ubuntu安全提醒
https://access.redhat.com/security/cve/CVE-2014-6271 <-- RedHat安全通報
關鍵點在於這項弱點利用偽造的環境變數,在代碼尚未送入shell中執行之前,在shell初始化的過程執行隱藏在環境變數中的程式碼;而其影響的對象主要是有在server上執行相關CGI程式〈有使用環境變數〉,且會同時呼叫使用到bash的函式。
其簡易自測法為:
CVE-2014-6271
$ env x='(){ :;}; echo vulnerable' bash -c "echo this is a test"
若回應有出現vulnerable,則應立即更新
vulnerable
this is a test
若有錯誤訊息則是安全的
bash: warning: x: ignoring function definition attempt bash:
error importing function definition for `x’
this is a test
CVE-2014-7169
$ cd /tmp; rm -f /tmp/echo; env 'x=() { (a)=>\' bash -c "echo date"; cat /tmp/echo
若回應中有類似Sat Sep 27 03:58:41 CST 2014則應立即更新
也有人提供script檢測以上提到的所有CVE〈除了CVE-2014-6277〉:
https://github.com/hannob/bashcheck
若是一般的個人使用,基本上就算自我檢測出了問題,也不用過度擔心,"目前擔任資安公司vArmour資深工程師,也是臺灣駭客年會創辦人徐千洋則表示,這次爆發的Shellshock漏洞,並非使用Bash的Linux系統就一定會被遠端入侵。目前企業或網站的應用程式,大多使用PHP、Perl、Python等程式語言,加上若沒有使用環境變數的情況下,駭客也很難利用遠端來進行入侵。至於一般家用用戶,只安裝Linux系統作個人電腦使用,而沒拿來架設Web伺服器,就不會有遠端入侵的問題。" --《iThome》
一言以蔽之,有問題就趕快更新吧!
提供一個更新資料的整理:
http://blog.longwin.com.tw/2014/09/cve-2014-6271-bash-remote-code-execution-2014/